package com.yonyou.gmmc.service.wechatpush.dao;

import java.util.List;
import java.util.Map;

import org.apache.ibatis.annotations.Param;

import com.yonyou.gmmc.service.wechatpush.annotation.OracleDb;
import com.yonyou.gmmc.service.wechatpush.dto.NewsActivityDto;
import com.yonyou.gmmc.service.wechatpush.dto.WechatKeyWordDto;
import com.yonyou.gmmc.service.wechatpush.dto.WechatSmartReplyDto;
import com.yonyou.gmmc.service.wechatpush.entity.TmCarKnowledges;

@OracleDb
public interface TmSmartReplyMapper {
	/**
    * @author zhangfengming
    * @ description 查询规则名
    * @date 2017年7月6日
    * @return
     */
    public List<WechatSmartReplyDto> queryRule(@Param("ruleName") String ruleName);
    /**
     * @author zhangfengming
     * @ description 插入关键字
     * @date 2017年7月10日
     * @return
      */
    public int insertKeyword(@Param("list") List<WechatKeyWordDto> list) ;
    /**
     * @author zhangfengming
     * @ description 插入子菜单回复
     * @date 2017年7月10日
     * @return
      */
    public int insertSubmenuReply(@Param("list") List<WechatSmartReplyDto> list) ;
    /**
     * @author zhangfengming
     * @ description 插入单个回复
     * @date 2017年7月10日
     * @return
      */
    public int insertSingleReply(WechatSmartReplyDto wechatSmartReplyDto);
    
    public Integer selectReplyId();
    
    public Integer getReplyIdSeq();
    
    /**
     * @author zhangfengming
     * @ description 智能回复规则查询
     * @date 2017年7月10日
     * @return
      */
    public List<WechatSmartReplyDto> getReplyRule(Map<String, Object> queryMap);
    /**
     * @author zhangfengming
     * @ description 智能回复详细查询
     * @date 2017年7月10日
     * @return
      */
	public List<WechatSmartReplyDto> getReplyDetail(Integer replyId);
	/**
     * @author zhangfengming
     * @ description 下一条智能回复查询
     * @date 2017年7月10日
     * @return
      */
	public List<WechatSmartReplyDto> getNextReply(Integer submenuParentId,String replyContent);
	/**
     * @author zhangfengming
     * @ description 子菜单详情查询
     * @date 2017年7月10日
     * @return
      */
	public List<WechatSmartReplyDto> getNextMenuDetail(Integer rootId);
	/**
     * @author zhangfengming
     * @ description 更新状态
     * @date 2017年7月10日
     * @return
      */
	public void updateStatus(@Param("rootId") Integer rootId,@Param("status") Integer status);
	
	/**
     * @author zhangfengming
     * @ description 资讯查询
     * @date 2017年7月17日
     * @return
      */
	public List<NewsActivityDto> queryInfor(Map<String, Object> paramMap);
	/**
     * @author zhangfengming
     * @ description 活动查询
     * @date 2017年7月17日
     * @return
      */
	public List<NewsActivityDto> queryActivity( Map<String, Object> paramMap);

	/**
     * @author zhangfengming
     * @ description 查询图文文字回复 
     * @date 2017年7月20日
     * @return
      */
	public List<WechatSmartReplyDto>queryReply(@Param("replyId") Integer replyId);
	/**
     * @author zhangfengming
     * @ description 通过id查询活动资讯 
     * @date 2017年7月21日
     * @return
      */
	public NewsActivityDto queryInforById(@Param("graphicId") Integer graphicId);
	/**
     * @author zhangfengming
     * @ description 通过id查询用车知识
     * @date 2017年7月21日
     * @return
      */
	public TmCarKnowledges queryCarKnowledgeById(@Param("graphicId") Integer graphicId);
	/**
     * @author zhangfengming
     * @ description 查询关键字
     * @date 2017年7月21日
     * @return
      */
    public List<WechatKeyWordDto> queryKeyword(@Param("replyId") Integer replyId) ;
    /**
     * @author zhangfengming
     * @ description 更新关键字
     * @date 2017年7月24日
      */
    public void updatekeyWord(@Param("list") List<WechatKeyWordDto> list);
    /**
     * @author zhangfengming
     * @ description 更新回复
     * @date 2017年7月24日
      */
    public void updateReplky(@Param("list") List<WechatSmartReplyDto> list);
    
    /**
     * @author zhangfengming
     * @ description 查询资讯发布方
     * @date 2017年7月24日
      */
    public List<Map<String,Object>> queryNewsPublisher();
    
    /**
     * @author zhangfengming
     * @ description 删除子菜单或回复
     * @date 2017年7月26日
      */
    public int deleteReply(@Param("replyId") Integer replyId) ;
    
    /**
     * @author zhangfengming
     * @ description 删除子菜单或回复
     * @date 2017年7月26日
      */
    public int deleteKeywordByRID(@Param("replyId") Integer replyId) ;
    
    /**
     * @author zhangfengming
     * @ description 通过id查询回复
     * @date 2017年7月27日
      */
    public WechatSmartReplyDto queryReplyById(@Param("replyId") Integer replyId);
    
    /**
     * @author zhangfengming
     * @ description 插入关键字并设置关键字回复ID
     * @date 2017年7月27日
      */
    public int insertKeywordAndRID(@Param("list") List<WechatKeyWordDto> list) ;
	
}
